package com.yuxinmuyu.sports_management.utils;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.*;

/**
 * @author 淮晚
 * @atio 59882896@qq.com
 * @create 2024-02-25-11:19
 */

public class Utility {
    /**
     * 手动分页工具
     *
     * @param page 包含size和current的page对象
     * @param list 要进行分页的列表数据
     * @param <T>  泛型
     * @return
     */
    public static <T> Page<T> getPage(Page<T> page, List<T> list) {
        page.setCurrent(page.getCurrent() - 1);

        page.setTotal(list.size());
        if (list.subList((int) (page.getCurrent() * page.getSize()), list.size()).size() > page.getSize()) {
            page.setRecords(list.subList((int) (page.getCurrent() * page.getSize()),
                    (int) (page.getCurrent() * page.getSize() + page.getSize())));
        } else {
            page.setRecords(list.subList((int) (page.getCurrent() * page.getSize()), list.size()));
        }
        page.setPages((long) Math.ceil(list.size() * 1.0 / (page.getSize() * 1.0)));
        return page;
    }
}
